﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DAO;
using DTO;
namespace BUS
{
    public class NguoiDungBUS
    {

        //----------------------------------------------------------------------------------------------------------------------------------
        public static int KiemTraDangNhap(string username, string password)
        {
            int thanhcong;
            string md5_password = md5(password);
            if (NguoiDungDAO.KiemTraDangNhap(username, md5_password) == 0)
            {
                thanhcong = 0;//có tài khoản
            }
            else
            {
                thanhcong = 1;//ko tồn tại tài khoản
            }
            return thanhcong;
        }
        public static int Lay_MaLoaiND(string username, string password)
        {
            string md5_password = md5(password);
            int maloaind = NguoiDungDAO.LAY_MALOAIND(username, md5_password);
            return maloaind;
        }
        //----------------------------------------------------------------------------------------------------------------------------------
        public static int KiemTraEmail(string email)
        {
            int thanhcong;
            if (NguoiDungDAO.KiemTraEmail(email) == 0)
            {
                thanhcong = 0;//có tài khoản
            }
            else
            {
                thanhcong = 1;//ko tồn tại tài khoản
            }
            return thanhcong;
        }

        //Lấy password cho khách hàng quên mật khẩu
        public static string Lay_Password(string email)
        {
            string pass = NguoiDungDAO.Lay_Passwors(email);
            return pass;
        }


        //----------------------------------------------------------------------------------------------------------------------------------

        //thêm khách hàng
        public static int ThemKhachHang(NguoiDung user)
        {
            int kq = 0;
            //lay user dưa xuong DAO 
            //dao => database kt có trung hay ko
            if (NguoiDungDAO.KiemTraTaiKhoan(user) == 0)
            {
                int thanhcong = 0;
                user.Password = md5(user.Password);
                thanhcong = NguoiDungDAO.ThemKhachHang(user);
                if (thanhcong == 0)
                {
                    return thanhcong; // thêm thành công
                }
                else
                {
                    thanhcong = 1; //thêm không thành công
                }
                return thanhcong;

            }
            else
            {
                kq = 1; //bi trung tai khoan
            }
            return kq;
        }



        //Mã hóa md5 cho password
        private static byte[] encryptData(string data)
        {
            System.Security.Cryptography.MD5CryptoServiceProvider md5Hasher = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] hashedBytes;
            System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
            hashedBytes = md5Hasher.ComputeHash(encoder.GetBytes(data));
            return hashedBytes;
        }
        private static string md5(string data)
        {
            return BitConverter.ToString(encryptData(data)).Replace("-", "").ToLower();
        }
    }
}
